前言:
大致记一下模块插件化的书写思路
一般写法:
define(function(require, exports, module) {
var plugin = {
//插件初始化入口
init : function(options){
var that=this;
this.parameter1 = options.parameter1 || {}; //获取传入参数
this.parameter2 = options.parameter2 || {}; //获取传入参数
this.fun1 = options.fun1 || function(){}; //获取传入参数
this.fun2 = options.fun2 || function(){}; //获取传入参数
this.method1();
...
},
//插件公用方法1
method1:function(){
var that=this;
...
},
//插件公用方法2
method2:function(){
var that=this;
...
},
...
}
plugin.init(); //初始化插件
module.exports = plugin; //暴露模块/方法
});
调用方式:
var plugin = require('./plugin'); //引用模块插件
plugin.method1(); //调用插件公有方法
注意事项:
插件初始化时,如果变量有
缺省值
, 一般用||
逻辑插件内
私有变量
,私有方法
一律加下划线为标识, 比如_parameter1
表示私有变量,_fun1(){}
表私有方法时刻谨记
单一职责原则
,一个基本方法只执行一个逻辑,如果有多个逻辑,请另外新增方法来对其他基本的颗粒化的方法进行组合,这样可以降低复杂度,时刻保证整个插件的易读性
和可扩展性
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。